package com.atguigu.java;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;

import java.util.List;

/**
 * @author xbd
 * @create 2021-06-19 9:14
 */
public class dom4jTest {

    @Test
    public void test1() throws Exception {

        SAXReader saxReader = new SAXReader();

        Document document = saxReader.read("src/books.xml");

        System.out.println(document);
    }

    @Test
    public void test2() throws Exception {
        // 需要分四步操作:
// 第一步，通过创建 SAXReader 对象。来读取 xml 文件，获取 Document 对象
        SAXReader saxReader = new SAXReader();
        Document document = saxReader.read("src/books.xml");
// 第二步，通过 Document 对象。拿到 XML 的根元素对象
        Element root = document.getRootElement();
// 第三步，通过根元素对象。获取所有的 book 标签对象
        List<Element> lists = root.elements();
// 第四小，遍历每个 book 标签对象。然后获取到 book 标签对象内的每一个元素，
// 再通过 getText() 方法拿到起始标签和结束标签之间的文本内容
        for(Element list : lists){
            String name = list.elementText("name");
            String price = list.elementText("price");
            String author = list.elementText("author");
            String sn = list.elementText("sn");

            System.out.println(new Book("sn", "name", Double.parseDouble(price), author));
        }
    }


}
